CC = g++
BASEDIR = ..
PLUGINSDKDIR = $(BASEDIR)/Plugins\ SDK
SDKGLUECODEDIR = $(PLUGINSDKDIR)/Glue\ Code
SDKINCLUDEDIR = $(PLUGINSDKDIR)/Includes
PNGUTILSOURCEDIR = .

GTKPREFIXDIR = /usr/include

GTKINCLUDEDIR = $(GTKPREFIXDIR)/gtk-2.0
GLIBINCLUDEDIR = $(GTKPREFIXDIR)/glib-2.0
PANGOINCLUDEDIR = $(GTKPREFIXDIR)/pango-1.0
ATKINCLUDEDIR = $(GTKPREFIXDIR)/atk-1.0
ATK2INCLUDEDIR = $(ATKINCLUDEDIR)/atk
GDKINCLUDEDIR = $(GTKINCLUDEDIR)/gdk

GLIBCONFIGDIR = /usr/lib/glib-2.0/include
GDKCONFIGDIR = /usr/lib/gtk-2.0/include

INCLUDE = -I$(SDKINCLUDEDIR) \
          -I./ \
          -I- \
          -I$(GTKINCLUDEDIR) \
          -I$(GLIBINCLUDEDIR) \
          -I$(GDKINCLUDEDIR) \
          -I$(PANGOINCLUDEDIR) \
          -I$(ATKINCLUDEDIR) \
          -I$(ATK2INCLUDEDIR)

ADDITIONALINCLUDES = -I$(GDKCONFIGDIR) -I$(GLIBCONFIGDIR)

PREFIXHEADER = $(SDKINCLUDEDIR)/LinuxHeader.h

CFLAGS = -w -fpermissive -fasm -s -O2 -D__INTEL__ -D__GCC__ -DWIDGET_GTK=1 -DX_WINDOW=1 $(INCLUDE) $(ADDITIONALINCLUDES)

OBJS = PluginMain.o \
	   PNGu.o \
	   PNGuLinux.o

all: $(OBJS)
	$(CC) $(CFLAGS) -lpng -Bstatic -lz -shared -o libPNGUtils.so $(OBJS)

PluginMain.o: $(SDKGLUECODEDIR)/PluginMain.cpp
	$(CC) $(CFLAGS) -include $(PREFIXHEADER) $(SDKGLUECODEDIR)/PluginMain.cpp -c

PNGu.o: PNGu.cpp
	$(CC) $(CFLAGS) -include $(PREFIXHEADER) PNGu.cpp -c

PNGuLinux.o: PNGuLinux.cpp
	$(CC) $(CFLAGS) -include $(PREFIXHEADER) PNGuLinux.cpp -c
